package com.healthyeating.manage.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.healthyeating.common.annotation.Excel;
import com.healthyeating.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 身体管理对象 tb_physical
 * 
 * @author 段奇乐
 * @date 2025-03-20
 */
public class Physical extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 身体ID，主键自增 */
    private Long physicalId;

    /** 身高 */
    @Excel(name = "身高")
    private String physicalHeight;

    /** 体重 */
    @Excel(name = "体重")
    private String physicalWeight;

    /** BMI */
    @Excel(name = "BMI")
    private String physicalBmi;

    /** 体脂率 */
    @Excel(name = "体脂率")
    private String physicalFatPercent;

    /** 腰围 */
    @Excel(name = "腰围")
    private String physicalWaistline;

    /** 胸围 */
    @Excel(name = "胸围")
    private String physicalBust;

    /** 臀围 */
    @Excel(name = "臀围")
    private String physicalHips;

    /** 腰臀比 */
    @Excel(name = "腰臀比")
    private String waistHipRadio;

    /** 血糖 */
    @Excel(name = "血糖")
    private String bloodSugar;

    /** 所属用户 */
    private Long userId;

    public void setPhysicalId(Long physicalId) 
    {
        this.physicalId = physicalId;
    }

    public Long getPhysicalId() 
    {
        return physicalId;
    }
    public void setPhysicalHeight(String physicalHeight) 
    {
        this.physicalHeight = physicalHeight;
    }

    public String getPhysicalHeight() 
    {
        return physicalHeight;
    }
    public void setPhysicalWeight(String physicalWeight) 
    {
        this.physicalWeight = physicalWeight;
    }

    public String getPhysicalWeight() 
    {
        return physicalWeight;
    }
    public void setPhysicalBmi(String physicalBmi) 
    {
        this.physicalBmi = physicalBmi;
    }

    public String getPhysicalBmi() 
    {
        return physicalBmi;
    }
    public void setPhysicalFatPercent(String physicalFatPercent) 
    {
        this.physicalFatPercent = physicalFatPercent;
    }

    public String getPhysicalFatPercent() 
    {
        return physicalFatPercent;
    }
    public void setPhysicalWaistline(String physicalWaistline) 
    {
        this.physicalWaistline = physicalWaistline;
    }

    public String getPhysicalWaistline() 
    {
        return physicalWaistline;
    }
    public void setPhysicalBust(String physicalBust) 
    {
        this.physicalBust = physicalBust;
    }

    public String getPhysicalBust() 
    {
        return physicalBust;
    }
    public void setPhysicalHips(String physicalHips) 
    {
        this.physicalHips = physicalHips;
    }

    public String getPhysicalHips() 
    {
        return physicalHips;
    }
    public void setWaistHipRadio(String waistHipRadio) 
    {
        this.waistHipRadio = waistHipRadio;
    }

    public String getWaistHipRadio() 
    {
        return waistHipRadio;
    }
    public void setBloodSugar(String bloodSugar) 
    {
        this.bloodSugar = bloodSugar;
    }

    public String getBloodSugar() 
    {
        return bloodSugar;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("physicalId", getPhysicalId())
            .append("physicalHeight", getPhysicalHeight())
            .append("physicalWeight", getPhysicalWeight())
            .append("physicalBmi", getPhysicalBmi())
            .append("physicalFatPercent", getPhysicalFatPercent())
            .append("physicalWaistline", getPhysicalWaistline())
            .append("physicalBust", getPhysicalBust())
            .append("physicalHips", getPhysicalHips())
            .append("waistHipRadio", getWaistHipRadio())
            .append("bloodSugar", getBloodSugar())
            .append("createTime", getCreateTime())
            .append("userId", getUserId())
            .toString();
    }

    // 额外的属性
    /** 当前天起始时间 */
    private Date startOfDay;

    /** 当前天结束时间 */
    private Date endOfDay;

    public Date getEndOfDay() {
        return endOfDay;
    }

    public void setEndOfDay(Date endOfDay) {
        this.endOfDay = endOfDay;
    }

    public Date getStartOfDay() {
        return startOfDay;
    }

    public void setStartOfDay(Date startOfDay) {
        this.startOfDay = startOfDay;
    }
}
